﻿using System;
using System.Collections;
using System.Linq;
using System.Text;

namespace NGI_Entidades
{
    public class FacturaDetalleElemento : CamposAuditoria
    {
        #region Propiedades
        private Int32 _id = 0;
        private Int32 _cantidad = 0;
        private Producto _producto;
        private Double _precioUnitario = 0.0f;
        private Double _precioTotal = 0.0f;
        #endregion Propiedades

        #region Getters y Setters
        public Int32 ID
        {
            get { return _id; }
            set { _id = value; }
        }

        public Int32 Cantidad
        {
            get { return _cantidad; }
            set { _cantidad = value; }
        }

        public Producto Producto
        {
            get { return _producto; }
            set { _producto = value; }
        }

        public Double PrecioUnitario
        {
            get { return _precioUnitario; }
            set { _precioUnitario = value; }
        }

        public Double PrecioTotal
        {
            get { return _precioTotal; }
            set { _precioTotal = value; }
        }
        #endregion Getters y Setters

        #region Constructores
        public FacturaDetalleElemento() { }

        public FacturaDetalleElemento(Int32 Cantidad, Producto Producto, Double PrecioUnitario, Double PrecioTotal)
        {
            this._cantidad = Cantidad;
            this._producto = Producto;
            this._precioUnitario = PrecioUnitario;
            this._precioTotal = PrecioTotal;
        }
        #endregion Constructores

        #region Constructores Estáticos
        public static FacturaDetalleElemento Nuevo(Int32 Cantidad, Producto Producto, Double PrecioUnitario, Double PrecioTotal)
        {
            return new FacturaDetalleElemento(Cantidad, Producto, PrecioUnitario, PrecioTotal);
        }
        #endregion Constructores Estáticos
    }
}
